package com.engine.salary.formlua.func.date;


import com.engine.salary.formlua.entity.parameter.DataType;


 public interface DateTimeService {
	 DataType now(Object... objects);
	 DataType today(Object... objects);
	 DataType dateDiff(Object... objects);
	 DataType dateAdd(Object... objects);
	 DataType dateFormat(Object... objects);
	 DataType year(Object... objects);
	 DataType month(Object... objects);
	 DataType day(Object... objects);
	 DataType hour(Object... objects);
	 DataType minute(Object... objects);
	 DataType seconds(Object... objects);
	 DataType weekNum(Object... objects);
	 DataType weekDay(Object... objects);
	 DataType dayOfMonth(Object... objects);
	 DataType monthOfYear(Object... objects);
	 DataType maxDate(Object... objects);
	 DataType minDate(Object... objects);

	/**
	 *
	 * @param objects
	 * @return
	 */
	 DataType timeOfDay(Object... objects);

	 DataType eoMonth(Object... objects);

	/**
	 * 工作日间隔时间
	 * @param objects
	 * @return
	 */
//	 DataType workdayIntl(Object... objects);

	/**
	 * 日期比较，返回两个日期指定时间域的差值。
	 * 可比较的时间域包括"Y"-比较年;"M"-比较月;"D"-比较日;"H"-比较小时;"m"-比较分钟;"S"-比较秒.
	 * @param objects
	 * @return
	 */
	 DataType compareDate(Object... objects);

	/**
	 * 当前年
	 * @return
	 */
	 DataType currYear(Object... objects);

	/**
	 * 当前月
	 * @return
	 */
	 DataType currMonth(Object... objects);

	/**
	 * 当前天（当前月第几天）
	 * @return
	 */
	 DataType currDay(Object... objects);

	/**
	 * 当年周（当前月第几周）
	 * @return
	 */
	 DataType currWeek(Object... objects);

	/**
	 * 当前小时
	 * @return
	 */
	 DataType currHour(Object... objects);

	/**
	 * 当前分钟
	 * @return
	 */
	 DataType currMinute(Object... objects);

	/**
	 * 当前秒
	 * @return
	 */
	 DataType currSecond(Object... objects);

	 /**
	  * 获取月有多少天
	  * @param objects
	  * @return
	  */
	 DataType daysInMonth(Object... objects);

}
